#pragma once
#ifndef SMPPBROADCASTRESPONSEOPTIONALTLVS_HPP
#define SMPPBROADCASTRESPONSEOPTIONALTLVS_HPP

#include "SMPPBroadcastErrorStatus.hpp"
#include "SMPPFailedBroadcastAreaIdentifier.hpp"

namespace smpp{
namespace pdu{

class SMPP_DLLPRFX BroadcastResponseOptionalTLVs{
protected:
	BroadcastErrorStatus *_BroadcastErrorStatus;
	FailedBroadcastAreaIdentifier *_FailedBroadcastAreaIdentifier;
public:
	BroadcastResponseOptionalTLVs(
		const BroadcastErrorStatus *nBroadcastErrorStatus = 0,
		const FailedBroadcastAreaIdentifier *
		nFailedBroadcastAreaIdentifier = 0);

	BroadcastResponseOptionalTLVs(
		const BroadcastResponseOptionalTLVs &);

	~BroadcastResponseOptionalTLVs();

	void setBroadcastErrorStatus(const BroadcastErrorStatus *);

	const BroadcastErrorStatus *getBroadcastErrorStatus() const;

	void setFailedBroadcastAreaIdentifier(
		const FailedBroadcastAreaIdentifier *);

	const FailedBroadcastAreaIdentifier *
		getFailedBroadcastAreaIdentifier() const;

	const quint16 getLength() const;
};

}
}

#endif
